Macro texts

\newcommand{\hand}[4]{
 \begin{minipage}[t]{\br}%I chose \br=8em
 \begin{tabbing}
 %width of parbox depends on the parameters:
 %min{\br, max{string #1, ..., string #4}}
  \(\spadesuit\)  \= #1 \\
  \(\heartsuit\)  \> #2 \\
  \(\diamondsuit\)\> #3 \\
  \(\clubsuit\)   \> #4
 \end{tabbing}
 \end{minipage}     }%end \hand
%
\newsavebox{\NESW}
\savebox{\NESW}[4em]{%
\raisebox{-1.5\baselineskip}%
{\fbox{\small W
   \raisebox{2.6ex}{N}
   \hspace*{-1em}
   \raisebox{-2.6ex}{S}
   {E}
      }
}          }%end \NESW
%
\newcommand{\crdima}[6]{%
\begin{tabular}[t]{lll}
 #1 & #3             & #2\\
 #4 & \usebox{\NESW} & #5\\
    & #6             &
\end{tabular}
}%end \crdima
%
\newenvironment{bidding}%
{\begin{tabbing}
 xxxxxx\=xxxxxx\=xxxxxx\=xxxxxx \kill
 West  \>North \>East  \> South\\
}{\end{tabbing} }%end bidding
%
To eliminate data integrity errors the listings of the above macros and the listings of the commands used in the examples are `included' via a transparent verbatim like environment, [6]; so the same files were used for execution and listing.